// const AdminlistDataModel = require('../../models/administration/list/adminlistModel') // 引用正确的模型
// const { adminListData } = require('../../db/administration')

// const getAdminData = async (ctx) => {
//   const adminlistDataModel = new AdminlistDataModel()

//   try {
//     adminlistDataModel.collection.insertMany(adminListData, (err) => {
//       if (err) {
//         console.log('数据保存失败', err)
//       } else {
//         console.log('数据保存成功')
//       }
//     })
//     console.log(ctx.request.body, ctx.request.body.title, '22222')

//     let total = await AdminlistDataModel.countDocuments() //表总记录数
//     console.log(total, '5555')

//     const currentpage = parseInt(ctx.request.body.currentpage) //当前页码
//     const pagesize = parseInt(ctx.request.body.pagesize) //就拿几条。
//     //skip()表示跳过几条数据，也就是offset
//     // const title = ctx.request.body.title
//     // console.log(title, '1111, 键盘参数 ')
//     console.log(currentpage, '222')
//     console.log(pagesize, '3333')
//     const skip = (currentpage - 1) * pagesize

//     const totalPages = Math.ceil(total / pagesize) // 计算总页数
//     const findAdminListData = await AdminlistDataModel.find()
//     // .skip(skip).limit(pagesize).exec()
//     // const searchAdminListData = await AdminlistDataModel.find({ title })

//     console.log(findAdminListData, '66666')

//     ctx.status = 200
//     ctx.body = {
//       success: true,
//       data: {
//         findAdminListData,
//         // searchAdminListData,
//         total,
//         totalPages,
//         currentpage,
//         pagesize,
//       },
//       // limit: '',
//       // offset: '',
//     }
//   } catch (err) {
//     ctx.status = 500
//     ctx.body = { error: 'Failed to save data', details: err.message }
//   }
// }

// module.exports = {
//   getAdminData,
// }

//--------------------------------------------

// const AdminlistDataModel = require('../../../mongoose/models/adminlist/adminlistModel') // 引用正确的模型
// const { adminListData } = require('../../../mongoose/db/administration/adminlist/adminlistDB.js')

// class AdminListController {
//   async getAdminList(ctx) {
//     const adminlistModel = new AdminlistDataModel()
    
//     try {
//       await AdminlistDataModel.deleteMany({ 'adminListData.title': null });
//       await AdminlistDataModel.insertMany(adminListData, { ordered: false });
//       // console.log(ctx.request.body, '7777')

//       // const iid = ctx.request.body.iid
//       // console.log(iid, '666666')
//       // console.log(ctx.request.body, '7777')

//       const findAdminListData = await AdminlistDataModel.find()
//       console.log(findAdminListData, '00000')
//       ctx.status = 200
//       ctx.body = {
//         success: true,
//         data: {
//           findAdminListData
//         },
//       }
//     } catch (err) {
//       ctx.status = 500
//       ctx.body = { error: 'Failed to save data', details: err.message }
//     }
//   }
// }

// module.exports = new AdminListController()



//---------------------修改三---------------------

const AdminlistDataModel = require('../../../mongoose/models/adminlist/adminlistModel');
const { adminListData } = require('../../../mongoose/db/administration/adminlist/adminlistDB');
const adminlistDataModel=new AdminlistDataModel( {

  adminListData :[
      {
        iid: 0,
        title: '同向出发，中间相遇问题',
        paper: '甲乙两人从A地同时出发，已知两人第一次相遇时，距离中点100米......',
        path: '/detail',
        image: 'http://localhost:3000/upload/789fad453dddc49d6a15e7300.jpg',
        name: 'list',
        content: 'xingcheng',
      },
      {
        iid: 1,
        title: '早晚出发，中途相遇问题',
        paper: '甲乙两人从A地同时出发，已知两人第一次相遇时，距离中点100米......',
        path: '/detail',
        image: 'http://localhost:3000/upload/789fad453dddc49d6a15e7300.jpg',
        name: 'list',
        content: 'xingcheng',
      },
      
    ]
 
}
  
)

class AdminListController {
  async getAdminList(ctx) {
    try {
      // 1. 清理可能导致冲突的旧数据
      await AdminlistDataModel.deleteMany({ 'adminListData.title': null });

      // 2. 批量插入新数据（跳过重复错误）
      await adminlistDataModel.save().then((res)=>{
        console.log(res,'7777')
      }).catch(err=>{
        console.log(err,'数据保存失败')
      })

      // 3. 查询最新数据
      const findAdminListData = await AdminlistDataModel.find();
      console.log(findAdminListData,'0000')

      ctx.status = 200;
      ctx.body = {
        success: true,
        data: findAdminListData
      };
    } catch (err) {
      console.error('Database Error:', err);
      ctx.status = 500;
      ctx.body = { 
        error: 'Failed to process data',
        details: err.message,
        // 生产环境建议隐藏堆栈信息
        // stack: process.env.NODE_ENV === 'development' ? err.stack : undefined
      };
    }
  }
}

module.exports = new AdminListController();
